//
//package com.siam.package_rider.context;
//
//import cn.hutool.core.util.ObjectUtil;
//import com.siam.package_common.context.login.TbRiderLoginContext;
//import com.siam.package_common.exception.AuthException;
//import com.siam.package_common.exception.enums.AuthExceptionEnum;
//import com.siam.package_common.pojo.login.SysLoginTbRider;
//import com.siam.package_rider.cache.TbRiderSessionManager;
//import com.siam.package_rider.entity.TbRider;
//import com.siam.package_rider.util.TokenUtil;
//import org.springframework.beans.BeanUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
///**
// * 登录用户上下文实现类
// *
// * @author
// * @date 2020/3/13 12:19
// */
//@Component
//public class TbRiderLoginContextSpringSecurityImpl implements RiderLoginContext {
//
//    @Autowired
//    private TbRiderSessionManager riderSessionManager;
//
//    private TbRiderLoginContextSpringSecurityImpl() {
//
//    }
//
//    /**
//     * 获取当前登录用户
//     *
//     * @author
//     * @date 2020/3/13 14:42
//     */
//    @Override
//    public SysLoginTbRider getSysLoginTbRider() {
//        TbRider loginTbRider = riderSessionManager.getSession(TokenUtil.getToken());
//        if (ObjectUtil.isEmpty(loginTbRider)) {
//            throw new AuthException(AuthExceptionEnum.LOGIN_EXPIRED);
//        } else {
//            SysLoginTbRider sysLoginTbRider = new SysLoginTbRider();
//            BeanUtils.copyProperties(loginTbRider, sysLoginTbRider);
//            return sysLoginTbRider;
//        }
//    }
//
//    /**
//     * 管理员类型（0超级管理员 1非管理员）
//     * 判断当前登录用户是否是超级管理员
//     *
//     * @author
//     * @date 2020/3/23 17:51
//     */
//    @Override
//    public boolean isSuperAdmin() {
//        //TODO - 临时限制
//        /*return this.isTbRider(TbRiderTypeEnum.SUPER_ADMIN.getCode());*/
//        return getSysLoginTbRider().getUsername().startsWith("admin-");
//    }
//}